Skip to content

3.8. Framework Comparison

In one glance

  • You will: Compare framework responsibilities and verify an independent LangGraph A2A boundary.
  • You need: ADK tools and A2A familiarity; the comparison group is optional.
  • Time: about 25 minutes, hands-on.

How do you run the comparison without a model?

The elective exposes a deterministic read-only LangGraph workflow through the official A2A Python SDK.

mise run check:comparison

The command installs the locked optional comparison group and checks Agent Card discovery plus a real in-process A2A request. It starts no external server and makes no model call.

The code is in agents/python/labs/langgraph_a2a.py: explicit state → retrieve incident → return evidence. It uses neither ADK orchestration nor LangSmith. The shared read tool keeps the domain constant so you can compare the orchestration and protocol boundary.

How do the development experiences compare?

ADK provides the integrated experience used throughout the main course.

Capability ADK LangGraph ecosystem
Agent/workflow code Python agents and graph/workflow constructs Explicit state, nodes, edges, checkpoints, and interrupts
Local API Built-in API server Local Agent Server through langgraph dev
Visual debugger Local ADK Web LangSmith Studio, with its documented account/API-key setup
A2A Built-in ADK exposure Packaged Agent Server A2A, or your own official-SDK adapter as in this exercise
Self-hosting Open-source application/runtime MIT LangGraph library; packaged LangSmith Agent Server has separate license requirements

Sources: ADK runtime, LangGraph overview, Studio prerequisites, and standalone Agent Server requirements.

ADK is the main course choice because its Gemini integration, debugger, API, and A2A reduce initial setup work. LangGraph is a useful alternative when explicit execution state is your main design concern. Neither choice removes the need to test authorization, side effects, and recovery.

How do you expose the comparison over A2A?

Stop the reference A2A server before using the same loopback port for the elective.

mise run comparison:a2a

A second terminal can discover it:

curl --fail http://127.0.0.1:8080/.well-known/agent-card.json

Send INC-002 as the text of the same A2A message/send envelope taught in 3.6. A2A. Inspect the response and compare it with the reference read tool. The offline test supplies the exact executable request example.

Stop the server with Ctrl-C. This elective is stateless, read-only, and model-free. It demonstrates protocol interoperability, not model quality or production persistence.

How does this connect to kagent?

The platform boundary can outlive the framework that implements the application.

kagent documents BYO examples for both ADK and LangGraph. In Part II, compare those manifests with the course's ADK resource. Keep one primary implementation and qualify any alternative before deployment.

What proves this page worked?

mise run check:comparison

You are done when:

  • The same incident evidence travels through the LangGraph graph and the A2A boundary.
  • You can distinguish an open-source library from a separately licensed deployment product.
  • You can explain why the main course uses ADK without claiming the platform requires it.

Return to 3. Capabilities and continue the main ADK path.